package hcn.protocol.base.hisNoticeReq;

import javax.xml.bind.annotation.*;
import java.util.List;

/**
 * Created by ChenJij on 2023/9/11.
 */
@XmlRootElement(name = "MsgBody")
public class OffLineSettlementNoticeRequest {
    private String visitOrganization;
    private String sourcePatientId;
    private String name;

    private String visitId;
    private String invoiceCode;
    private String paymentNumber;
    private List<FeeRecord> feeRecordLists;

    @XmlElement(name = "VisitOrganization")
    public String getVisitOrganization() {
        return visitOrganization;
    }

    public void setVisitOrganization(String visitOrganization) {
        this.visitOrganization = visitOrganization;
    }

    @XmlElement(name = "SourcePatientId")
    public String getSourcePatientId() {
        return sourcePatientId;
    }

    public void setSourcePatientId(String sourcePatientId) {
        this.sourcePatientId = sourcePatientId;
    }

    @XmlElement(name = "Name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @XmlElement(name = "VisitId")
    public String getVisitId() {
        return visitId;
    }

    public void setVisitId(String visitId) {
        this.visitId = visitId;
    }

    @XmlElement(name = "InvoiceCode")
    public String getInvoiceCode() {
        return invoiceCode;
    }

    public void setInvoiceCode(String invoiceCode) {
        this.invoiceCode = invoiceCode;
    }

    @XmlElement(name = "PaymentNumber")
    public String getPaymentNumber() {
        return paymentNumber;
    }

    public void setPaymentNumber(String paymentNumber) {
        this.paymentNumber = paymentNumber;
    }

    @XmlElementWrapper(name = "FeeRecordLists")
    @XmlElement(name = "FeeRecordList")
    public List<FeeRecord> getFeeRecordLists() {
        return feeRecordLists;
    }

    public void setFeeRecordLists(List<FeeRecord> feeRecordLists) {
        this.feeRecordLists = feeRecordLists;
    }

    @XmlRootElement(name = "FeeRecordList")
    public static class FeeRecord{
        /*收费单据标识*/
        private String feeNo;
        /*类型代码*/
        private String feeTypeCode;
        /*类型名称*/
        private String feeTypeName;
        /*单据号*/
        private String requestId;
        /*门诊类型*/
        private String outpatientType;
        /**科室ID/
         private String DeptCode;
         /*科室名称*/
        private String deptName;
        /*开单日期*/
        private String costDate;
        /*执行科室*/
        private String executiveDepartment;
        /*执行窗口*/
        private String executiveWindow;
        /*科室位置*/
        private String addressDetail;

        @XmlElement(name = "FeeNo")
        public String getFeeNo() {
            return feeNo;
        }

        public void setFeeNo(String feeNo) {
            this.feeNo = feeNo;
        }

        @XmlElement(name = "FeeTypeCode")
        public String getFeeTypeCode() {
            return feeTypeCode;
        }

        public void setFeeTypeCode(String feeTypeCode) {
            this.feeTypeCode = feeTypeCode;
        }

        @XmlElement(name = "FeeTypeName")
        public String getFeeTypeName() {
            return feeTypeName;
        }

        public void setFeeTypeName(String feeTypeName) {
            this.feeTypeName = feeTypeName;
        }

        @XmlElement(name = "RequestId")
        public String getRequestId() {
            return requestId;
        }

        public void setRequestId(String requestId) {
            this.requestId = requestId;
        }

        @XmlElement(name = "OutpatientType")
        public String getOutpatientType() {
            return outpatientType;
        }

        public void setOutpatientType(String outpatientType) {
            this.outpatientType = outpatientType;
        }

        @XmlElement(name = "DeptName")
        public String getDeptName() {
            return deptName;
        }

        public void setDeptName(String deptName) {
            this.deptName = deptName;
        }

        @XmlElement(name = "CostDate")
        public String getCostDate() {
            return costDate;
        }

        public void setCostDate(String costDate) {
            this.costDate = costDate;
        }

        @XmlElement(name = "ExecutiveDepartment")
        public String getExecutiveDepartment() {
            return executiveDepartment;
        }

        public void setExecutiveDepartment(String executiveDepartment) {
            this.executiveDepartment = executiveDepartment;
        }

        @XmlElement(name = "ExecutiveWindow")
        public String getExecutiveWindow() {
            return executiveWindow;
        }

        public void setExecutiveWindow(String executiveWindow) {
            this.executiveWindow = executiveWindow;
        }

        @XmlElement(name = "AddressDetail")
        public String getAddressDetail() {
            return addressDetail;
        }

        public void setAddressDetail(String addressDetail) {
            this.addressDetail = addressDetail;
        }
    }
}